SetGfxDriver 1:Graphics 800,600,8,2:SeedRnd MilliSecs() :SetBuffer FrontBuffer() 
Include "fn1.bb"

While Not KeyHit(1)  Or MouseHit(2)
ClsColor 0,0,0
Cls
randnum(0)
getnums()
;	fact_faza()
;	Color 255,255,210:Text 5,5,fasecnt+":  "+ tycnt+" maxfase1: "+maxfase1+" minfase2: "+minfase2+"  middle=" + ttt0+"/"+ zzz1 + ", Null cnt=" + cnull+"%, max without Null="+wnullmax+", phase=3",False ,False
	

;erase()
;checke()
;Color 210,255,210:Text 310,2,in,False ,False
zzz1=zzz1+1:hzzz1=hzzz1+1:jzzz1=jzzz1+1
Flip
If zzz1> 32  Then 

If ((bit<>2) And (tycnt>maxfase1)) Then maxfase1=tycnt
If ((bit=2) And (tycnt<minfase2)) Then minfase2=tycnt	 ;WaitMouse()
bit=mod4(bit):randnum(1):fasecnt=fasecnt+1
EndIf

VWait 
Wend 

Function erase()
End Function

Function fact_faza()
Text 310,2,mod2(23442+555^6),False ,False
	For unittest=0 To 5	
		For i = 0 To 9 
		PokeInt in3,i*5,mod2(PeekInt (in31,i*5) - unittest) 
		PokeInt in2,i*5,mod2(PeekInt (in1,i*5) )  		
		PokeInt in4,i*5,mod2(PeekInt (in41,i*5))				
		Next 
		eee1=fact(fact(PeekInt(in2,0),PeekInt(in2,5),PeekInt(in2,10)),fact(PeekInt(in2,0+15),PeekInt(in2,5+15),PeekInt(in2,10+15)),fact(PeekInt(in2,0+2*15),PeekInt(in2,5+2*15),PeekInt(in2,10+2*15)))
		eee2=fact(fact(PeekInt(in3,0),PeekInt(in3,5),PeekInt(in3,10)),fact(PeekInt(in3,0+15),PeekInt(in3,5+15),PeekInt(in3,10+15)),fact(PeekInt(in3,0+2*15),PeekInt(in3,5+2*15),PeekInt(in3,10+2*15)))
		eee3=fact(fact(PeekInt(in4,0),PeekInt(in4,5),PeekInt(in4,10)),fact(PeekInt(in4,0+15),PeekInt(in4,5+15),PeekInt(in4,10+15)),fact(PeekInt(in4,0+2*15),PeekInt(in4,5+2*15),PeekInt(in4,10+2*15)))
		eee=fact(eee1,eee2,eee3)
;		DebugLog eee
		If (eee = unittest) Then untest=unittest:zzz(zzz1)=zzz(zzz1)+1:zzz2(zzz1,zzz2(zzz1,100))=unittest:zzz2(zzz1,100)=zzz2(zzz1,100)+1
		If zzz2(zzz1,100)=0 Then zzz2(zzz1,99)=eee
	Next


;If bit <>2 Then		
;		For i = 0 To 9 
;		PokeInt in31,i*5,mod2(PeekInt (in31,i*5)Xor PeekInt (in51,i*5)) 
;		PokeInt in1,i*5,mod2(PeekInt (in1,i*5)Xor PeekInt (in71,i*5));		
;		PokeInt in41,i*5,mod2(PeekInt (in41,i*5)Xor PeekInt (in61,i*5))	
;	
;		PokeInt in31,i*5,mod2(PeekInt (in31,i*5)Xor PeekInt (in61,i*5)) 
;		PokeInt in1,i*5,mod2(PeekInt (in1,i*5)Xor PeekInt (in51,i*5));		
;		PokeInt in41,i*5,mod2(PeekInt (in41,i*5)Xor PeekInt (in71,i*5))
;		Next 			
;;	For unittest=0 To 9	
;;
;;		heee1=fact(fact(PeekInt(in1,0),PeekInt(in1,5),PeekInt(in1,10)),fact(PeekInt(in1,0+15),PeekInt(in1,5+15),PeekInt(in1,10+15)),fact(PeekInt(in1,0+2*15),PeekInt(in1,5+2*15),PeekInt(in1,10+2*15)))
;;		heee2=fact(fact(PeekInt(in31,0),PeekInt(in31,5),PeekInt(in31,10)),fact(PeekInt(in31,0+15),PeekInt(in31,5+15),PeekInt(in31,10+15)),fact(PeekInt(in31,0+2*15),PeekInt(in31,5+2*15),PeekInt(in31,10+2*15)))
;;		heee3=fact(fact(PeekInt(in41,0),PeekInt(in41,5),PeekInt(in41,10)),fact(PeekInt(in41,0+15),PeekInt(in41,5+15),PeekInt(in41,10+15)),fact(PeekInt(in41,0+2*15),PeekInt(in41,5+2*15),PeekInt(in41,10+2*15)))
;;		heee=fact(heee1,heee2,heee3)
;;		If (heee = unittest) Then hzzz(hzzz1)=hzzz(hzzz1)+1:hzzz2(hzzz1,hzzz2(hzzz1,100))=unittest:in$=in$+""+unittest:hzzz2(hzzz1,100)=hzzz2(hzzz1,100)+1
;;		If hzzz2(hzzz1,100)=0 Then hzzz2(hzzz1,99)=heee
;;	Next
;		PokeInt in31,i*5,mod2(PeekInt (in31,i*5)- untest^47*10) 
;;		PokeInt in1,i*5,mod2(PeekInt (in1,i*5));		
;		PokeInt in41,i*5,mod2(PeekInt (in41,i*5)- untest^47*10)
;Else
;
;		PokeInt in31,i*5,mod2(PeekInt (in31,i*5)- untest^47*10) 
;		PokeInt in1,i*5,mod2(PeekInt (in1,i*5));		
;		PokeInt in41,i*5,mod2(PeekInt (in41,i*5)- untest^47*10)
;EndIf 	
;		
;	For unittest=0 To 5	
;		For i = 0 To 9 
;		PokeInt in3,i*5,mod2(PeekInt (in31,i*5)-  unittest^47*10 ) 
;		PokeInt in2,i*5,mod2(PeekInt (in1,i*5) ) 		
;		PokeInt in4,i*5,mod2(PeekInt (in41,i*5)- unittest^47*10)			
;		Next 
;		eee1=fact(fact(PeekInt(in2,0),PeekInt(in2,5),PeekInt(in2,10)),fact(PeekInt(in2,0+15),PeekInt(in2,5+15),PeekInt(in2,10+15)),fact(PeekInt(in2,0+2*15),PeekInt(in2,5+2*15),PeekInt(in2,10+2*15)))
;		eee2=fact(fact(PeekInt(in3,0),PeekInt(in3,5),PeekInt(in3,10)),fact(PeekInt(in3,0+15),PeekInt(in3,5+15),PeekInt(in3,10+15)),fact(PeekInt(in3,0+2*15),PeekInt(in3,5+2*15),PeekInt(in3,10+2*15)))
;		eee3=fact(fact(PeekInt(in4,0),PeekInt(in4,5),PeekInt(in4,10)),fact(PeekInt(in4,0+15),PeekInt(in4,5+15),PeekInt(in4,10+15)),fact(PeekInt(in4,0+2*15),PeekInt(in4,5+2*15),PeekInt(in4,10+2*15)))
;		eee=fact(eee1,eee2,eee3)
;		If (eee = unittest) Then jzzz(jzzz1)=jzzz(jzzz1)+1:jzzz2(jzzz1,jzzz2(jzzz1,100))=unittest:jzzz2(jzzz1,100)=jzzz2(jzzz1,100)+1
;		If jzzz2(jzzz1,100)=0 Then jzzz2(jzzz1,99)=eee
;	Next
;	If zzz(zzz1-1)<>0 Then 
;	If zzz2(zzz1-1,0)=jzzz2(jzzz1-1,0) Then tycnt=tycnt+1
;	EndIf

End Function